home *** CD-ROM | disk | FTP | other *** search
- package java.util;
-
- public class LinkedHashMap<K, V> extends HashMap<K, V> implements Map<K, V> {
- private static final long serialVersionUID = 3801124242820219131L;
- private transient Entry<K, V> header;
- private final boolean accessOrder;
-
- public LinkedHashMap(int var1, float var2) {
- super(var1, var2);
- this.accessOrder = false;
- }
-
- public LinkedHashMap(int var1) {
- super(var1);
- this.accessOrder = false;
- }
-
- public LinkedHashMap() {
- this.accessOrder = false;
- }
-
- public LinkedHashMap(Map<? extends K, ? extends V> var1) {
- super(var1);
- this.accessOrder = false;
- }
-
- public LinkedHashMap(int var1, float var2, boolean var3) {
- super(var1, var2);
- this.accessOrder = var3;
- }
-
- void init() {
- this.header = new Entry(-1, (Object)null, (Object)null, (HashMap.Entry)null);
- this.header.before = this.header.after = this.header;
- }
-
- void transfer(HashMap.Entry[] var1) {
- int var2 = var1.length;
-
- for(Entry var3 = this.header.after; var3 != this.header; var3 = var3.after) {
- int var4 = indexFor(var3.hash, var2);
- var3.next = var1[var4];
- var1[var4] = var3;
- }
-
- }
-
- public boolean containsValue(Object var1) {
- if (var1 == null) {
- for(Entry var2 = this.header.after; var2 != this.header; var2 = var2.after) {
- if (var2.value == null) {
- return true;
- }
- }
- } else {
- for(Entry var3 = this.header.after; var3 != this.header; var3 = var3.after) {
- if (var1.equals(var3.value)) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- public V get(Object var1) {
- Entry var2 = (Entry)this.getEntry(var1);
- if (var2 == null) {
- return null;
- } else {
- var2.recordAccess(this);
- return (V)var2.value;
- }
- }
-
- public void clear() {
- super.clear();
- this.header.before = this.header.after = this.header;
- }
-
- Iterator<K> newKeyIterator() {
- return new KeyIterator(this, (1)null);
- }
-
- Iterator<V> newValueIterator() {
- return new ValueIterator(this, (1)null);
- }
-
- Iterator<Map.Entry<K, V>> newEntryIterator() {
- return new EntryIterator(this, (1)null);
- }
-
- void addEntry(int var1, K var2, V var3, int var4) {
- this.createEntry(var1, var2, var3, var4);
- Entry var5 = this.header.after;
- if (this.removeEldestEntry(var5)) {
- this.removeEntryForKey(var5.key);
- } else if (this.size >= this.threshold) {
- this.resize(2 * this.table.length);
- }
-
- }
-
- void createEntry(int var1, K var2, V var3, int var4) {
- HashMap.Entry var5 = this.table[var4];
- Entry var6 = new Entry(var1, var2, var3, var5);
- this.table[var4] = var6;
- java.util.LinkedHashMap.Entry.access$600(var6, this.header);
- ++this.size;
- }
-
- protected boolean removeEldestEntry(Map.Entry<K, V> var1) {
- return false;
- }
-
- // $FF: synthetic method
- static boolean access$000(LinkedHashMap var0) {
- return var0.accessOrder;
- }
-
- // $FF: synthetic method
- static Entry access$100(LinkedHashMap var0) {
- return var0.header;
- }
- }
-